package com.ytzl.itrip.controller;

import com.ytzl.itrip.common.DigestUtil;
import com.ytzl.itrip.service.ItripUserService;
import com.ytzl.itrip.service.TokenService;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.regex.Pattern;

/**
 * Created by sam on 2018/2/7.
 */
@Component
public class BaseController {

    @Resource
    protected ItripUserService itripUserService;

    @Resource
    protected TokenService tokenService;

    /**
     * 合法E-mail地址：
     * 1. 必须包含一个并且只有一个符号“@”
     * 2. 第一个字符不得是“@”或者“.”
     * 3. 不允许出现“@.”或者.@
     * 4. 结尾不得是字符“@”或者“.”
     * 5. 允许“@”前的字符中出现“＋”
     * 6. 不允许“＋”在最前面，或者“＋@”
     */
    public boolean validEmail(String email) {

        String regex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
        return Pattern.compile(regex).matcher(email).find();
    }

    /**
     * 验证是否合法的手机号
     *
     * @param phone
     * @return
     */
    public boolean validPhone(String phone) {
        String regex = "^1[3578]{1}\\d{9}$";
        return Pattern.compile(regex).matcher(phone).find();
    }

    /**
     * 通过md5 2代加密
     *
     * @param value
     * @return
     */
    public String md52Value(String value) {
        //私钥
        String digest = DigestUtil.digest("yuntuzhilian");
        //加密
        return DigestUtil.hmacSign(value, digest);
    }
}
